package com.yupi.springbootinit.model.dto.processbatch;

import lombok.Data;

import jakarta.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * PMC批次排期请求
 *
 * 用途：PMC为单个批次设置排期时间
 * 说明：批次编码和设备在工艺单创建时已确定，PMC只需设置时间计划
 */
@Data
public class BatchScheduleRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 批次ID（process_batch.id）
     * 注意：不是 batch_plan_id，而是已创建的 process_batch 记录的 ID
     */
    @NotNull(message = "批次ID不能为空")
    private Long batchId;

    /**
     * 计划开始时间
     */
    @NotNull(message = "计划开始时间不能为空")
    private LocalDateTime planStart;

    /**
     * 工序时长设置（可选）
     * 不填则使用标准工时
     */
    private List<ProcessBatchStepDurationDTO> stepDurations;

    /**
     * 备注
     */
    private String remark;
}